/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

document.getElementById("cameraTakePicture").addEventListener("click", cameraTakePicture);
document.getElementById("spreak").addEventListener("click", spreak);

function spreak() {
	alert("spreak");
	cordova.exec(success, fail, "AndroidForJSUnits", "speak", ["haha"]);

	function success(message) {
		alert("success = " + message);
	};

	function fail(message) {
		alert("fail=" + message);
	}
}

function cameraTakePicture() {
	alert("sjlflsk");
	//拍照
	//navigator.camera就是上面我们所说的clobbers定义的东西，用来调用插件中的方法的
	//getPicture就是插件中调用摄像头拍照的方法
	navigator.camera.getPicture(takeSuccess, takeFail, {
		destinationType: Camera.DestinationType.FILE_URI
	});

	//拍照成功后回调
	function takeSuccess(imageURI) {
		alert(imageURI);
		console.log('success' + imageURI);
		//显示照片
		var largeImage = document.getElementById('myImage');
		largeImage.style.display = 'block';
		largeImage.src = imageURI;
	}

	//失败后回调
	function takeFail(message) {
		navigator.notification.alert("拍照失败，原因：" + message);
	}
}

var app = {
	// Application Constructor
	initialize: function() {
		document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
	},

	// deviceready Event Handler
	//
	// Bind any cordova events here. Common events are:
	// 'pause', 'resume', etc.
	onDeviceReady: function() {
		this.receivedEvent('deviceready');
	},

	// Update DOM on a Received Event
	receivedEvent: function(id) {
		var parentElement = document.getElementById(id);
		var listeningElement = parentElement.querySelector('.listening');
		var receivedElement = parentElement.querySelector('.received');

		listeningElement.setAttribute('style', 'display:none;');
		receivedElement.setAttribute('style', 'display:block;');

		console.log('Received Event: ' + id);
	},

	//自己定义的拍照函数
	function takePhoto() {
		alert("hahah");
		//拍照
		//navigator.camera就是上面我们所说的clobbers定义的东西，用来调用插件中的方法的
		//getPicture就是插件中调用摄像头拍照的方法
		navigator.camera.getPicture(takeSuccess, takeFail, {
			destinationType: Camera.DestinationType.FILE_URI
		});

		//拍照成功后回调
		function takeSuccess(imageURI) {
			console.log('success' + imageURI);
		}

		//失败后回调
		function takeFail(message) {
			navigator.notification.alert("拍照失败，原因：" + message);
		}
	}
};

app.initialize();